package cc.lucien.demo210419;

import java.util.Scanner;

/**
 * 题目：古典问题：有一对兔子，从出生后第3个月起每个月都生一对兔子，
 * 小兔子长到第三个月后每个月又生一对兔子，假如兔子都不死，问每个月的兔子总数为多少？   
 * //这是一个菲波拉契数列问题
 *
 * 思路：
 * 月份          兔子数                  说明
 *
 *   1      1（对）                从开始有一对兔子
 *
 *   2      1
 *
 *   3      1+1                     原本有一对  从第三个月开始 生了一对 一共是两对兔子
 *
 *   4      1+1+1                   生了第二对
 *
 *   5      1+1+1+1+1                  生了第三对兔子   同时3月生的第一对兔子又生了一对
 *
 *   6      5+3=8
 * ————————————————
 */
public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入月份：");
        int month = scanner.nextInt();
        System.out.println("第" + month + "总共有" + sum(month) * 2 + "只兔子");
    }

    private static int sum(int month) {
        if (1 == month || 2 == month)
            return 1;
        return (sum(month - 1) + sum(month - 2));
    }
}
